package jkoa.middleware;

import jkoa.core.Context;
import jkoa.core.Middleware;
import jkoa.core.Next;
import jkoa.core.Request;
import jkoa.core.Response;
/**
 * 在这个例子中，TimingMiddleware中间件记录请求的处理时间。在调用next函数之前记录开始时间，在next函数执行完成后记录结束时间，并计算和打印处理时间
 */
public class TimingMiddleware implements Middleware {
    @Override
    public void handle(Context ctx, Next next) {
        long startTime = System.currentTimeMillis();
        next.execute(ctx);
        long endTime = System.currentTimeMillis();
        System.out.println("Request processing time: " + (endTime - startTime) + "ms");
    }
}
